package com.bwc.aidemo.chatting
// 基础事件数据类
sealed class ChatEvent {
    // 聊天创建事件
    data class ChatCreated(val data: ChatData) : ChatEvent()
    // 聊天进行中事件
    data class ChatInProgress(val data: ChatData) : ChatEvent()
    // 消息增量（流式输出内容）
    data class MessageDelta(val data: MessageData) : ChatEvent()
    // 消息完成事件
    data class MessageCompleted(val data: MessageData) : ChatEvent()
    // 聊天完成事件
    data class ChatCompleted(val data: ChatData) : ChatEvent()
    // 结束标识
    object Done : ChatEvent()
}

// 聊天状态数据（对应 chat.created/in_progress/completed 事件）
data class ChatData(
    val id: String,
    val conversation_id: String,
    val bot_id: String,
    val created_at: Long,
    val status: String,
    val usage: UsageData,
    val section_id: String
)

// 消息内容数据（对应 message.delta/completed 事件）
data class MessageData(
    val id: String,
    val conversation_id: String,
    val bot_id: String,
    val role: String,
    val type: String,
    val content: String,  // 核心：流式返回的文本内容
    val content_type: String,
    val chat_id: String,
    val section_id: String
)

// 用量统计数据
data class UsageData(
    val token_count: Int,
    val output_count: Int,
    val input_count: Int
)
